Doris 备份 | 还原 操作流程

Doris 备份 | 还原 操作流程说明。


在备份 Doris 集群进行以下操作

创建远程仓库(需要 Doris root 权限)

1
2
3
4
5
6
7
8
CREATE REPOSITORY hdfs_repo
WITH BROKER broker_name
ON LOCATION "hdfs://nameSpace/user/root/hdfs_broker"
PROPERTIES
(
"username" = "",
"password" = ""
);

全量备份

备份 database 所有表

向 hdfs_repo 远程仓库全量备份 databaseName 库的所有表,HDFS 快照名为 snapshot_databaseName

1
2
3
BACKUP SNAPSHOT databaseName.snapshot_databaseName
TO hdfs_repo
PROPERTIES ("type" = "full");
备份 database 部分表

向 hdfs_repo 远程仓库全量备份 databaseName 库的 table1, table2, table3 表,HDFS 快照名为 snapshot_databaseName

1
2
3
4
5
6
7
BACKUP SNAPSHOT databaseName.snapshot_databaseName
TO hdfs_repo
ON (
`table1`,
`table2`,
`table3`)
PROPERTIES ("type" = "full");

Tips

  1. 只能对 OLAP 类型的表进行备份

  2. 备份的最大粒度是 database,最小粒度是 partition,所以有多少个 database 就需要备份多少个 snapshot

  3. PROPERTIES 目前支持以下属性:

    1
    2
    "type" = "full"     表示这是一次全量更新(默认)。
    "timeout" = "3600" 任务超时时间,默认为一天,单位秒。
  4. 通过以下命令查看备份状态

    1
    SHOW BACKUP;
    SHOW BACKUP

    备份状态包括以下几种

    1
    2
    3
    4
    5
    6
    7
    8
    PENDING:作业初始状态。
    SNAPSHOTING:正在进行快照操作。
    UPLOAD_SNAPSHOT:快照结束,准备上传。
    UPLOADING:正在上传快照。
    SAVE_META:正在本地生成元数据文件。
    UPLOAD_INFO:上传元数据文件和本次备份作业的信息。
    FINISHED:备份完成。
    CANCELLED:备份失败或被取消。

在还原 Doris 集群进行以下操作

创建远程仓库(需要 Doris root 权限)

1
2
3
4
5
6
7
8
CREATE REPOSITORY hdfs_repo
WITH BROKER broker_name
ON LOCATION "hdfs://nameSpace/user/root/hdfs_broker"
PROPERTIES
(
"username" = "",
"password" = ""
);

手动创建需要还原的 database

1
create database databaseName;

全量还原

还原 database 所有表

从 hdfs_repo 远程仓库全量还原 databaseName 库的所有表,HDFS 快照名为 snapshot_databaseName

1
2
3
4
5
6
7
RESTORE SNAPSHOT databaseName.snapshot_databaseName
FROM `hdfs_repo`
PROPERTIES
(
"backup_timestamp"="2022-04-03-13-18-39",
"replication_num" = "1"
);
还原 database 部分表

从 hdfs_repo 远程仓库全量还原 databaseName 库的 table1, table2, table3 表,HDFS 快照名为 snapshot_databaseName

1
2
3
4
5
6
7
8
9
10
11
RESTORE SNAPSHOT databaseName.snapshot_databaseName
FROM `hdfs_repo`
ON (
`table1`,
`table2`,
`table3` )
PROPERTIES
(
"backup_timestamp"="2022-04-03-12-54-57",
"replication_num" = "1"
);

Tips

  1. “backup_timestamp”=”2022-04-03-12-54-57” 指定了恢复对应备份的哪个时间版本 <必填>

    可以通过以下命令查看确认:

    1
    SHOW SNAPSHOT ON hdfs_repo;
    SHOW SNAPSHOT ON hdfs_repo
  2. “replication_num” = “1” 指定恢复的表或分区的副本数。默认为 3

  3. 通过以下命令查看还原状态

    1
    SHOW RESTORE;
    SHOW RESTORE

    还原状态包括以下几种

    1
    2
    3
    4
    5
    6
    7
    8
    9
    State:恢复作业当前所在阶段:
    PENDING:作业初始状态。
    SNAPSHOTING:正在进行本地新建表的快照操作。
    DOWNLOAD:正在发送下载快照任务。
    DOWNLOADING:快照正在下载。
    COMMIT:准备生效已下载的快照。
    COMMITTING:正在生效已下载的快照。
    FINISHED:恢复完成。
    CANCELLED:恢复失败或被取消。

备份还原常用命令

  1. 查看 BACKUP 作业的执行情况。

    1
    2
    use databaseName;
    SHOW BACKUP;
  2. 查看 RESTORE 作业的执行情况。

    1
    2
    use databaseName;
    SHOW RESTORE;
  3. 取消正在执行的备份作业。

    1
    2
    use databaseName;
    CANCEL BACKUP;
  4. 取消正在执行的恢复作业。

    1
    2
    use databaseName;
    CANCEL RESTORE;
  5. 删除已创建的远端仓库。删除仓库,只删除该仓库在 Doris 中的映射,不会删除实际 HDFS 仓库中的数据。

    1
    2
    use databaseName;
    DROP REPOSITORY;
  6. 查看远程仓库上的快照信息。

    1
    SHOW SNAPSHOT ON repositoryName;